package 双Value类型

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object zip {
    //将两个RDD组合成Key/Value形式的RDD,这里默认两个RDD的partition数量以及元素数量都相同，否则会抛出异常。
    def main(args: Array[String]): Unit = {

        val config: SparkConf = new SparkConf().setMaster("local[*]").setAppName("WordCount")

        val sc = new SparkContext(config)

        val listRDD: RDD[Int] = sc.makeRDD(List(1, 2, 3))

        val ArrayRDD: RDD[String] = sc.parallelize(Array("a", "b", "c"))

        val zipRDD: RDD[(Int, String)] = listRDD.zip(ArrayRDD)

        zipRDD.collect().foreach(println)

        val zipRDD2: RDD[(String, Int)] = ArrayRDD.zip(listRDD)

        zipRDD2.collect().foreach(println)


    }

}
